﻿using Eagles.Base;
using Eagles.Application.Model.News.EditUserNews;
using Eagles.Application.Model.News.AddNewsViewCount;
using Eagles.Application.Model.News.GetMeeting;
using Eagles.Application.Model.News.GetMeetingDetail;
using Eagles.Application.Model.News.GetNewsDetail;
using Eagles.Application.Model.News.GetModuleNews;
using Eagles.Application.Model.News.GetUserNews;
using Eagles.Application.Model.News.GetUserNewsDetail;
using Eagles.Application.Model.News.GetPublicUserNews;
using Eagles.Application.Model.News.GetPublicUserNewsDetail;
using Eagles.Application.Model.News.GetUserRequisitionDetail;

namespace Eagles.Interface.Core.News
{
    public interface INewsHandler : IInterfaceBase
    {
        EditUserNewsResponse EditUserNews(EditUserNewsRequest request);
        
        AddNewsViewCountResponse AddNewsViewCount(AddNewsCountRequest request);

        GetUserNewsResponse GetUserNews(GetUserNewsRequest request);

        GetUserNewsDetailResponse GetUserNewsDetail(GetUserNewsDetailRequest request);

        GetPublicUserNewsResponse GetPublicUserNews(GetPublicUserNewsRequest request);

        GetPublicUserNewsDetailResponse GetPublicUserNewsDetail(GetPublicUserNewsDetailRequest request);

        GetModuleNewsResponse GetModuleNews(GetModuleNewsRequest request);

        GetNewsDetailResponse GetNewsDetail(GetNewsDetailRequest request);

        GetMeetingResponse GetMeeting(GetMeetingRequest request);

        GetMeetingDetailResponse GetMeetingDetail(GetMeetingDetailRequest request);

        GetUserRequisitionDetailResponse GetUserRequisitionDetail(GetUserRequisitionDetailRequest request);
    }
}